#pragma once

#include <iostream>
#include <sstream>
#include <string>

#include "ListaEnvio.h"
#include "NodoEnvio.h"
#include "Envios.h"
#include "Area.h"
#include "Ruta.h"
#include "Transporte.h"

using namespace std;

//Cliente  el cual posee una lista de envios dinamica
class Cliente
{
private:
    int id;
    string nombre;
    string direccion;
    string telefono;
    int totalEnviosHechos;
    float costosEnviosTotal;
    ListaEnvio *lista;

public:
    Cliente();
    Cliente(int id, string nombre, string direccion, string telefono);
    ~Cliente();
    int getId();
    void setId(int val);
    string getNombre();
    void setNombre(string val);
    string getDireccion();
    void setDireccion(string val);
    string getTelefono();
    void setTelefono(string val);
    int getTotalEnviosHechos();
    void setTotalEnviosHechos(int num);
    int getCostosEnvioTotal();
    void setCostosEnvioTotal(int val);
    void seleccionarDes();
    string toString();
    void mostrarCliente();      //Muestra la informacion del cliente
    ListaEnvio *getLista();
    void setLista(ListaEnvio *obj);
    void agregarEnvio(Envios *obj);      //agrega un nuevo envio al cliente
};


